<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
<title>交叉事务</title><link href="../zdoc.css" rel="stylesheet" type="text/css"/><link href="../_rs/site.css" rel="stylesheet" type="text/css"/><script src="../_rs/jquery.js" language="Javascript"></script><script src="../_rs/site.js" language="Javascript"></script><script src="../_rs/z.js" language="Javascript"></script>
</head>
<body><a name="top"></a>
<div class="zdoc_header">交叉事务</div>
<div class="zdoc_author"><em>By:</em><b>zozoh</b><a href="mailto:zozohtnt@gmail.com">&lt;zozohtnt@gmail.com&gt;</a></div>
<div class="zdoc_body">
<div class="hr"><b></b></div>
<p></p>
<pre>函数 A
	数据操作 1;
	数据操作 2;

函数 B
	数据操作 3;
	-&gt; 函数 A();

函数 C
	数据操作 4;
	-&gt; 函数 A();
</pre>
<p>则称，A 为 B,C 的交叉操作。如果，A,B,C 都需要保证事务性，则 A 为 B, C 的交叉事务</p>
<p>Nutz.Dao 的原子操作支持事务嵌套，所以你可以这么实现这三个函数：</p>
<pre>函数 A
	Trans.exec(new Atom(){
		public void run(){
			数据操作 1;
			数据操作 2;
		}
	});

函数 B
	Trans.exec(new Atom(){
		public void run(){
			数据操作 3;
			-&gt; 函数 A();
		}
	});

函数 C
	Trans.exec(new Atom(){
		public void run(){
			数据操作 4;
			-&gt; 函数 A();
		}
	});
</pre>
<p>那么，这三个函数都是事务性的。就是说，只有最外层的事务是起作用的，被包裹的事务会“融化”在上层事务里</p>
</div>
<div class="zdoc_footer"><em>By:</em><b>zozoh</b><a href="mailto:zozohtnt@gmail.com">&lt;zozohtnt@gmail.com&gt;</a></div>
</body>
</html>